首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏超级架构师

    API架构REST API 设计的原则和最佳实践

    统一接口:通过将通用性的软件工程原理应用于组件接口,简化了整个系统架构,提高了交互的可见性。实现与它们提供的服务分离,这鼓励了独立的可进化性。 REST 定义了四个接口约束:资源的识别、通过表示的资源操作、自描述消息和作为应用程序状态引擎的超媒体。 自描述消息:每条消息都包含足够的信息来描述如何处理消息。 最佳实践 现在,让我们换个角度来了解 REST 的基本最佳实践,这是每个工程师都应该知道的。 保持简单和细粒度:创建模拟系统底层应用程序域或系统数据库架构API。 为您的客户设计,而不是为您的数据设计。 - 复数:普遍接受的做法是始终在节点名称中使用复数形式,以保持您的 API URI 在所有 HTTP 方法中保持一致。 本文 https://jiagoushi.pro/principles-best-practices-rest-api-design 讨论:知识星球【首席架构师圈】或者加微信小号【cea_csa_cto

    2.1K10编辑于 2022-03-08
  • 来自专栏码匠的流水账

    聊聊rest api设计

    序 本文主要研究下rest api设计设计准则 easy to use & hard to misuse 易用不易误用,也就是api设计不要太复杂,要简单易用,而且还不能容易用错。 账号密码需要加密登陆接口必须走https,而且必须要有图形验证码,而且还必须防暴力破解,有错误锁定机制,对于密码的传递,必须加密处理 防止id遍历问题对于url的参数,如果id是递增的,则需要处理遍历问题 ,要么对外暴露经过处理后的id,要么做数据权限控制 防止token replay对于token要有一定的失效机制,另外建议token对url参数进行签名 防止文件下载目录遍历对于提供文件下载的接口,一定要避免目录遍历问题 服务质量保障 提供SLA 提供流量管理、熔断、限流 提供服务扩容机制 提供故障演练 提供审计功能 监控异常流量 提供调用方间的隔离 小结 rest api设计牵扯的方面比较多,本文暂时只是先列了一些 doc API设计要点 聊聊jpa的动态查询 使用RSQL实现端到端的动态查询

    1.4K10发布于 2018-09-17
  • 来自专栏AI技术体系搭建过程

    0226 rest接口设计

    ** API设计原则 先给接口来个简单的定义:即协议,约定了请求和响应的参数和格式。 接口设计要求是: 1.简洁; 2.考虑到向后兼容; 业界有一些基本的原则: 1 restfull restfull是一种设计风格,一切接口皆是资源。 目前是设计的主流,思想也非常先进。 API设计实践 接口框架选型 有了接口设计的原则,可以挑选一个可靠的接口框架来支持自己的工作, 一个好的接口框架应该有如下特点: 对访问控制的支持; 自动测试的支持; 请求响应格式和序列化的支持; 日志和日志过滤的支持 ; 自动生成文档的支持; 对架构和性能的影响较小; 我一般选的springmvc,因为平时工作跟spring贴合的比较紧,而且spring有各种生态,适合在不同的行业和公司使用。 jersey也用,虽然灵活,但是不具备普遍适用性; 设计中的平衡 1 设定团队的API设计和实现模式 api太自由,会影响团队的协作,而共同约定api设计模式和实现模式可以解决这个问题。

    15200编辑于 2025-07-01
  • 来自专栏Hercules

    RESTful接口设计风格

    什么是RESTful风格? 通过URL进行资源的定位,用HTTP动作(GET、POST、DELETE、PUSH)描述操作,完成功能。 遵循RESTful风格,可以使开发的接口通用性更好,统一规范,减少沟通、学习和开发的成本。 2、RESTful API 2.1、查询列表 @RequestMapping(value = "/ArticleList", method = RequestMethod.GET) public List

    34510编辑于 2023-08-23
  • 来自专栏程序那些事儿

    API接口架构REST vs GraphQL

    无论是创建网站,还是移动应用程序,我们都需要通过 API 来传递数据,通过 API 我们可以获取到数据库中的数据,可以操作数据库,可以处理一些业务逻辑。现在最流行的 API 架构REST。 GraphQL 是一种新型的 API 架构,它比 REST 更灵活、更高效,并且具有声明式数据获取等功能。 REST 现代应用程序开发中 API 的主要架构REST。大多数后端框架可以非常容易地实现 RESTREST API 通常通过 HTTP 方法被调用。 GraphQL REST 的数据冗余和低效率,促使 Facebook 工程师在 2015 年创建了一种新的 API 设计模式,称为 GraphQL。 总结 虽然 REST 架构在过去十年中主导了 Web 开发,但它对接口调用的的使用使其在某些情况下有些不灵活且效率低下。

    2.2K30编辑于 2023-03-07
  • 来自专栏陶然同学博客

    【Elasticsearch】Rest风格API

    Rest风格API Elasticsearch提供了Rest风格API,即http请求接口 基本概念 Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL

    1.8K40编辑于 2023-02-24
  • 来自专栏JAVA 框架/源码学习

    Spring Boot REST 风格 API 接口 JWT Token 认证

    Spring Boot REST 风格 API 接口 JWT Token 认证 需求分析 接口认证需求: 1 能够有选择地过滤没有权限(Token)的请求 2 Token 具有时效性 3 如果用户连续操作 HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { } } 测试 写一个HTTP接口

    2.1K10发布于 2021-01-14
  • 来自专栏魏杰的技术专栏

    用 MiniFramework 快速构建 REST 风格API 接口

    通过 MiniFramework 内置的 REST 接口功能,我们可以很轻松的快速构建起基于 REST 风格API 接口,特别是在开发 iOS 和 Android 手机客户端应用时,服务器端的 API 下面介绍一下如何使用 MiniFramework 开发 REST 风格API 接口。 第四步,创建 API 程序 找到 App/Api 目录,这里是存放 API 接口的地方,在里面已经附带了一个名为 Version.php 的 demo,你可以参考这个文件的代码,编写自己的 API,比如我们创建一个名为 php //首先要声明当前文件的命名空间为 App\Api namespace App\Api; //还要引入 Mini\Rest use Mini\Rest; class User extends 再往下还要通过 use 引入 Mini\Rest,这个是 MiniFramework 的核心类之一,我们创建的 API 接口的 class 必须要继承 Rest

    83820编辑于 2022-12-23
  • 来自专栏devops_k8s

    REST API安全设计指南

    1 简介 REST API 安全设计指南。 REST 全称是 Representational State Transfer,它利用传统 Web 特点,提出一个既适于客户端应用又适于服务端的应用的、统一架构,极大程度上统一及简化了网站架构设计。 越来越多的 web 服务使用 REST 设计并实现,但是它缺少安全特性。 REST 全称是 Representational State Transfer,即表述性无状态传输。 Rest 既是基于 HTTP 协议的,也是无状态的。作为一种架构方式,它的安全特性需要自己实现,没有现成的。RESTful Web Services 概念的核心就是“资源”。 REST api 接口一般会用到 GET、POST、PUT、DELETE,未实现的方法则直接返回方法不允许,对于 POST、PUT 方法的数据采用 json 格式,并且在进入逻辑前验证是否 json,不合法则返回

    2.3K20发布于 2021-09-12
  • 来自专栏BestSDK

    REST API 安全设计指南

    REST API 安全设计指南。 REST的全称是REpresentational State Transfer,它利用传统Web特点,提出提出一个既适于客户端应用又适于服务端的应用的、统一架构,极大程度上统一及简化了网站架构设计。 但其缺少安全特性,《REST API 安全设计指南》就是一个REST API安全设计的指南,权当抛砖引玉,推荐网站后台设计及网站架构师们阅读。 rest是基于http协议的,也是无状态的。只是一种架构方式,所以它的安全特性都需我们自己实现,没有现成的。建议所有的请求都通过https协议发送。 rest api接口一般会用到GET,POST,PUT,DELETE,未实现的方法则直接返回方法不允许,对于POST,PUT方法的数据采用json格式,并且在进入逻辑前验证是否json,不合法返回json

    3.6K80发布于 2018-02-27
  • 来自专栏Wooola的技术博客

    Restful 架构 API 接口经典设计误区

    背景 目前微服务架构盛行,在了解了很多的实际微服务项目中,发现很多同事在设计业务 API 接口时,写法五花八门,现总结下目前项目上设计业务 API 接口的一些比较经典误区写法。 Restful 架构风格下,API 接口设计经典误区写法 1、查询某个对象接口:GET /app/getImportantApp @GetMapping(path = "/getImportantApp 如果采用 Restful 架构风格,上面这五种写法当然不对,这是对 Restful 架构风格不了解所致。 Restful 架构风格定义 “Restful 是一种软件架构风格设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。 基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 由于对 Restful 架构风格理解的不够透彻,一般会产生三种争议的设计误区。

    1.1K20发布于 2021-05-27
  • 来自专栏全栈技术

    浅谈RESTful API设计风格

    关于RESTful API 相关资料: RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。 RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。 值得注意的是REST并没有一个明确的标准,而更像是一种设计风格。 重点:RESTful是一种URL的设计风格。 通常,使用RESTful风格API,响应给客户端的数据是XML或JSON格式的,也就是“响应正文”,是使用了前后端分离的开发方式。 在RESTful架构中,浏览器使用POST,DELETE,PUT和GET四种请求方式分别对指定的URL资源进行增删改查操作。

    1K20发布于 2021-08-23
  • 来自专栏java思维导图

    如何设计restful风格接口

    restful风格接口 URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。 REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful APIREST风格的网络接口); 2. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。 比如:左边是错误的设计,而右边是正确的 GET /rest/api/getDogs --> GET /rest/api/dogs 获取所有小狗狗 GET /rest/api/addDogs --> POST /rest/api/dogs 添加一个小狗狗 GET /rest/api/editDogs/:dog_id --> PUT /rest/api/dogs/:dog_id 修改一个小狗狗 GET /

    1.5K20发布于 2018-07-26
  • 来自专栏Linux系列

    浅谈REST架构风格

    当然方式有很多,但今天所说的REST风格被业界推荐为微服务之间交互的首选方式(小编还是非常喜欢这种方式的)。废话不多讲,下面就说说REST风格到底是个神马东东。 –读《深入浅出 Sping Boot》有感 REST简介 REST(Representational State Transfer)又被唤作表现层状态转换。 一个资源可能会随着需求的变化而经历一个资源创建、修改、查询、删除等过程,REST风格正是基于HTTP协议运行的,HTTP协议又被称为无状态协议,所以资源的变化需要在服务端完成。 REST风格之RUI设计 在做这个之前有必要清楚Http协议的7种常用动作:GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS # 以id为编码 获取商品信息 GET /goods 风格的简单认识,希望能给您提供些许帮助!

    19310编辑于 2024-06-04
  • 来自专栏Java架构师历程

    REST架构风格详解

    但是REST远远不仅是指API风格,它是一种网络应用的架构风格。我们到后面会有所体会。 另外,需要注意的是,REST的原则不仅仅适用于HTTP协议。 完整状态码列表 如何设计RESTful API 在过去不使用RESTful架构风格的时候,如果我们要设计一个系统,会以“操作”为出发点,然后围绕它去建设其他需要的东西。 并且,不同功能的API有各自的结构,一致性很差,需要一份详细的API文档才能使用。 这种情况下,要如何通过RESTful架构风格设计一套一致、多用途的URL呢? 从以上的两个例子我们可以看出,使用RESTful风格可以克服传统架构风格的那4个缺陷: 设计API工作量减少,因为功能需求一旦出来,需要操作的资源、操作的方式立刻就能分析出来,因此资源URL和API的使用方式 已经不仅仅是一种API风格了,它是一种软件架构风格(REST本身不是一种架构)。

    1.2K20发布于 2019-03-08
  • 来自专栏magicodes

    REST API设计指导——译自Microsoft REST API Guidelines(一)

    我们经常见到,程序开发可能只用了半个月,但是接口的联调却经常需要花费半个月甚至一个月左右。 如果API设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计? 另外,REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。 也就是说,它是一种软件架构风格设计风格。 简单的来说,在REST API:URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。前面说了,REST 指的是一组架构约束条件和原则。 那么满足这些约束条件和原则的应用程序或设计就是 RESTful。 为什么用REST API? 1.前后端分离主要以API为界做接洽的,这样就会有很多的APIAPI的表现力更强,更加便于理解。

    1.9K30发布于 2018-12-27
  • 来自专栏magicodes

    REST API设计指导——译自Microsoft REST API Guidelines(二)

    同时,我们推荐将此规范作为团队的REST API设计指导和规范。 than adhering to REST by the book.* 注:本指南旨在构建符合 REST 架构风格的服务,但不涉及或要求构建遵循 REST 约束的服务。 了解 REST 架构风格背后的一些理念,更有助于开发优秀的基于 HTTP 的服务。 在 Roy Fielding 关于网络体系结构的论文中"架构风格与基于网络的软件体系结构设计" 一章。 HTTP/1.1 语义规范的权威资料。 关于 REST 的入门书籍。 译者注:上一篇说了,REST 指的是一组架构约束条件和原则。那么满足这些约束条件和原则的应用程序或设计就是 RESTful。

    1.7K10发布于 2018-12-27
  • 来自专栏Apikit

    REST API 设计最佳实践:如何构建、设计和使用 API

    但是,我主要接触的是REST,这是一种基于资源的API和Web服务开发架构风格。在我的职业生涯中有很大一部分时间都参与了构建、设计和使用API 的项目。 我见过的大多数API 都“声称” 是 “符合REST原则”的——意味着遵循 REST 架构的原则和约束。 因此我决定写篇文章分享一下,在设计 REST API 时的最佳实践。以下是关于设计优秀REST API 的一些建议、提示和指导,帮助您让消费者(以及开发人员)满意。 1. 学习 HTTP 基础知识 如果你想构建一个设计良好的REST API,那么你必须了解HTTP协议的基本知识。我坚信这将帮助你做出正确的设计选择。 这种设计真的很糟糕,因为它破坏了API与其使用者之间的信任关系,你会担心API可能在欺骗你。所有这些都极不符合RESTful风格。那么你应该怎么做呢?

    2.2K40编辑于 2023-07-17
  • 来自专栏腾讯云流计算 Oceanus

    Flink REST API设计指南

    Flink REST API 介绍Flink REST API 是 JobManager 提供的 HTTP 接口,用户可以通过 GET、POST 等 REST 定义的方法,请求获取作业、JobManager 非阻塞的 Flink REST API 设计要点关于拓展 Flink REST API 的方法,我们可以在 Flink 官网文档、各类技术社区文章中得到详细的指引,因而这里不再赘述基础的细节,而是更侧重于讲解遇到的一些常见的问题和解决方案 但对于 POST 方法的 API,我们通常需要实现 RequestBody 接口,来定义该 REST 接口的请求体。 REST Handler 设计handler 是一个 REST API 接口的执行者,我们可以通过实现 handleRequest 方法来定义请求的处理逻辑。 API 很简单;但是如果设计不当,阻塞了 Flink 的核心流程,会造成作业不稳定甚至多组件超时退出的后果。

    2.2K20编辑于 2023-06-05
  • 来自专栏丑胖侠

    REST API返回结果对象设计

    基于REST API的项目返回的数据结构题都是统一的,这样方便接口对接和使用。 因此,对结果对象的设计会有一定的要求: 一个结果对象要能够同时支持成功和失败的数据结构; 要能够处理多种类的返回结果对象; 能够很轻易的判断出结果是成功还是失败; 能够存储错误编码和错误信息; 下面就基于 Spring Boot项目来设计一下对应的统一结果返回对象。

    1.9K30编辑于 2021-12-07
领券